home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DS-CD ROM 2 1993 August
/
DS CD-ROM 2.Ausgabe (August 1993).iso
/
programm
/
ds0257
/
demo.exe
/
MKDEMOS.BAT
< prev
next >
Wrap
DOS Batch File
|
1992-02-24
|
9KB
|
301 lines
@ECHO OFF
REM Testen, ob wir das Glück haben unter 4DOS 3+ zu laufen ...
SET c=
IF NOT %@eval[2+2]. == 4. GOTO No4DOS
REM 4DOS geladen, merken und auf BTM umschalten
LOADBTM ON
SET c=4DOS
:No4DOS
IF %1. == ?. GOTO Help
CLS
ECHO. ┌─────────────────────────────────────────────────┐
ECHO. │ Batch-Datei zum erstellen der Demos aus Lib4A86 │
ECHO. └─────────────────────────────────────────────────┘
ECHO.
ECHO. Compiliere Quelldateien aus dem Directory (Variable: QWL): »%QWL%«
ECHO. (keine Angabe - aktuelles Directory)
ECHO.
ECHO. Erstelle Zieldateien im Directory (Variable: ZWL): »%ZWL%«
ECHO. (keine Angabe - aktuelles Directory)
ECHO.
ECHO. Inhalt der Variablen A86: »%A86%«
ECHO. (falls deklariert muß diese Variable den Dateinamen MACROS.MAC enthalten!)
ECHO.
ECHO. Inhalt der Variablen A86LIB: »%A86LIB%«
ECHO. (über diese Variable müssen die .LIB-Dateien erreichbar sein!)
ECHO.
ECHO. Der A86 muß im aktuellen Diretory sein oder über die Variable PATH
ECHO. erreichbar sein!
ECHO.
ECHO. Ein Hilfstext über die Aufrufsyntax von MKDEMOS ist über den Aufruf
ECHO. 'MKDEMOS ? (RETURN)' abrufbar.
ECHO.
IF NOT %1. == . GOTO SKIP
ECHO. Stimmen die Variablen? Bitte eine Taste drücken (CTRL-C) für Abbruch ...
PAUSE >NUL
:SKIP
REM Macro-Datei nur mit angegeben, falls sie nicht in der Variable A86 definiert ist.
SET d=MACROS.MAC
IF NOT "%d%" == "MACROS.MAC" GOTO EnvFehler
IF NOT "%A86%" == "" SET d=
SET w=
IF NOT %1. == . GOTO START
SET w=ALL
IF NOT %w%. == ALL. GOTO EnvFehler
GOTO START
:START
SET f=xxxxxxxxx
IF NOT %f%. == xxxxxxxxx. GOTO EnvFehler
:LOOP
ECHO. Suche Label ...
IF %1. == . GOTO ALL
IF NOT %c%. == 4DOS. GOTO %1
REM Bei 4DOS können die Dateien auch mit Extension angegeben werden
GOTO %@name[%1]
:ALL
:BHEAP
SET f=BHEAP
ECHO. ********** Erstelle %ZWL%%f%.COM ...
IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
IF ERRORLEVEL == 1 GOTO FEHLER
IF NOT %1. == . GOTO ENDE
:DATETIME
SET f=DATETIME
ECHO. ********** Erstelle %ZWL%%f%.COM ...
IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
IF ERRORLEVEL == 1 GOTO FEHLER
IF NOT %1. == . GOTO ENDE
:DIRS
SET f=DIRS
ECHO. ********** Erstelle %ZWL%%f%.COM ...
IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
IF ERRORLEVEL == 1 GOTO FEHLER
IF NOT %1. == . GOTO ENDE
:DOSERROR
SET f=DOSERROR
ECHO. ********** Erstelle %ZWL%%f%.COM ...
IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
IF ERRORLEVEL == 1 GOTO FEHLER
IF NOT %1. == . GOTO ENDE
:ENV
SET f=ENV
ECHO. ********** Erstelle %ZWL%%f%.COM ...
IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
IF ERRORLEVEL == 1 GOTO FEHLER
IF NOT %1. == . GOTO ENDE
:EXEC
SET f=EXEC
ECHO. ********** Erstelle %ZWL%%f%.COM ...
IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
IF ERRORLEVEL == 1 GOTO FEHLER
IF NOT %1. == . GOTO ENDE
:EXTDOS
SET f=EXTDOS
ECHO. ********** Erstelle %ZWL%%f%.COM ...
IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
A86 %d% %QWL%%f%.MAB %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
IF ERRORLEVEL == 1 GOTO FEHLER
IF NOT %1. == . GOTO ENDE
:FILES
SET f=FILES
ECHO. ********** Erstelle %ZWL%%f%.COM ...
IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
IF ERRORLEVEL == 1 GOTO FEHLER
IF NOT %1. == . GOTO ENDE
:KEYS
SET f=KEYS
ECHO. ********** Erstelle %ZWL%%f%.COM ...
IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
A86 %d% %QWL%%f%.MAB %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
IF ERRORLEVEL == 1 GOTO FEHLER
IF NOT %1. == . GOTO ENDE
:LONGINT
SET f=LONGINT
ECHO. ********** Erstelle %ZWL%%f%.COM ...
IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
IF ERRORLEVEL == 1 GOTO FEHLER
IF NOT %1. == . GOTO ENDE
:MEMORY
SET f=MEMORY
ECHO. ********** Erstelle %ZWL%%f%.COM ...
IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
IF ERRORLEVEL == 1 GOTO FEHLER
IF NOT %1. == . GOTO ENDE
:MENGEN
SET f=MENGEN
ECHO. ********** Erstelle %ZWL%%f%.COM ...
IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
IF ERRORLEVEL == 1 GOTO FEHLER
IF NOT %1. == . GOTO ENDE
:MQUEUE
SET f=MQUEUE
ECHO. ********** Erstelle %ZWL%%f%.COM ...
IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
IF ERRORLEVEL == 1 GOTO FEHLER
IF NOT %1. == . GOTO ENDE
:MSTACK
SET f=MSTACK
ECHO. ********** Erstelle %ZWL%%f%.COM ...
IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
IF ERRORLEVEL == 1 GOTO FEHLER
IF NOT %1. == . GOTO ENDE
:QUEUES
SET f=QUEUES
ECHO. ********** Erstelle %ZWL%%f%.COM ...
IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
IF ERRORLEVEL == 1 GOTO FEHLER
IF NOT %1. == . GOTO ENDE
:PARMS
SET f=PARMS
ECHO. ********** Erstelle %ZWL%%f%.COM ...
IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
IF ERRORLEVEL == 1 GOTO FEHLER
IF NOT %1. == . GOTO ENDE
:PRINT
SET f=PRINT
ECHO. ********** Erstelle %ZWL%%f%.COM ...
IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
IF ERRORLEVEL == 1 GOTO FEHLER
IF NOT %1. == . GOTO ENDE
:RECORDIO
SET f=RECORDIO
ECHO. ********** Erstelle %ZWL%%f%.COM ...
IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
IF ERRORLEVEL == 1 GOTO FEHLER
IF NOT %1. == . GOTO ENDE
GOTO ENDE
:STACKS
SET f=STACKS
ECHO. ********** Erstelle %ZWL%%f%.COM ...
IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
A86 %d% %QWL%%f%.MAB %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
IF ERRORLEVEL == 1 GOTO FEHLER
IF NOT %1. == . GOTO ENDE
:STRINGS1
SET f=STRINGS1
ECHO. ********** Erstelle %ZWL%%f%.COM ...
IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
IF ERRORLEVEL == 1 GOTO FEHLER
IF NOT %1. == . GOTO ENDE
:TEXTIO
SET f=TEXTIO
ECHO. ********** Erstelle %ZWL%%f%.COM ...
IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
IF ERRORLEVEL == 1 GOTO FEHLER
IF NOT %1. == . GOTO ENDE
:HELP
:?
:-?
:/?
ECHO.
ECHO. MKDEMOS - Compilieren eines oder mehrerer Demos aus Lib4A86
ECHO.
ECHO. Aufruf: MKDEMOS
ECHO. -- Compilieren ALLER Demos
ECHO.
ECHO. MKDEMOS name1 {name2} {...}
ECHO. -- Compilieren der angegebenen Demos,
ECHO. name# = Name der zu compilierenden Demos ohne Pfad und Extension.
ECHO. Hinweise:
ECHO. - Alle beötigten .DEM- und .MAB-Dateien und die Datei DEMOS.INC müssen im
ECHO. aktuellen Directory oder im Directory dessen Name in der Environment-
ECHO. Variablen QWL steht (falls diese deklariert ist) sein.
ECHO. (Der akt. Inhalt der Variable QWL ist: »%QWL%«)
ECHO. - Falls die Environment-Variable A86 definiert ist, muß die Datei MACROS.MAC
ECHO. dort deklariert sein.
ECHO. (Der akt. Inhalt der Variable A86 ist: »%A86%«)
ECHO. - Die .COM-Dateien werden ins aktuelle Directory oder ins Directory dessen
ECHO. Name in der Environment-Variablen ZWL steht (falls diese deklariert ist)
ECHO. geschrieben. (Der akt. Inhalt der Variable ZWL ist: »%ZWL%«)
ECHO. - Der Inhalt der Variablen ZWL und QWL muß, falls vorhanden mit dem Zeichen
ECHO. '\' oder ':' enden.
ECHO. - Die .LIB- und .BIB-Dateien müssen über eine A86.LIB-Datei erreichbar sein!
GOTO ENDE
:ENVFEHLER
ECHO.
ECHO. Der freie Speicher im Environment reicht nicht zur Ausführung dieser
ECHO. Datei. Bitte den COMMAND.COM mit dem Parameter /e:nnn neustarten
ECHO. und die Datei nochmal ausführen oder aber MKDEMOS folgendermaßen
ECHO. aufrufen:
ECHO.
ECHO. COMMAND /E:nnnn /C MKDEMOS {parameter}
ECHO.
ECHO. wobei nnnn die Größe des Environments in Byte ist (nnnn sollte
ECHO. etwa 1024 oder größer sein)
ECHO. (siehe auch DOS-Handbuch)
ECHO.
GOTO ENDE1
:FEHLER1
:%f%
ECHO.
ECHO.%QWL%%f%.DEM nicht gefunden!
ECHO.
ECHO Bitte eine Taste drücken (CTRL-C für Abbruch) ...
PAUSE >NUL
GOTO ENDE
:FEHLER
ECHO.
ECHO. Fehler beim Erstellen von %QZL%%f%.COM!
ECHO.
IF %w%. == ALL. GOTO ENDE
ECHO. Bitte eine Taste drücken (CTRL-C für Abbruch) ...
PAUSE >NUL
:ENDE
SHIFT
IF NOT %1. == . GOTO LOOP
:ENDE1
REM Variablen wieder löschen ...
SET d=
SET f=
SET c=
SET w=